package com.biz.primus.ms.commodity.feign;

import com.biz.primus.base.vo.ProductSearchResultEntityVo;
import com.biz.primus.search.vo.search.ProductSearchResultVo;
import com.biz.primus.search.vo.search.SearchProductRequestVo;
import com.biz.primus.base.vo.SearchResult;
import com.biz.primus.search.vo.search.VendorProductRespVo;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient(qualifier = "searchFeignClient", name = "service-search")
public interface SearchFeignClient {


    @PostMapping("soa/productSearchService/searchProduct")
    ProductSearchResultVo<ProductSearchResultEntityVo> searchProduct(@RequestBody SearchProductRequestVo vo);

    @PostMapping("soa/productSearchService/getVendorProductSize")
    VendorProductRespVo getVendorProductSize(@RequestBody SearchProductRequestVo vo);

    @PostMapping("soa/productSearchService/searchBrandByCategoryId")
    SearchResult<Long> searchBrandByCategoryId(@RequestBody SearchProductRequestVo conditionVo);

}
